home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1986-05-24 | 6.6 KB | [ TEXT/EDIT]
open in: MacOS 8.1
extracted
|
Win98
extracted
|
DOS
extracted
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary ).
Confidence Program Detection Match Type Support
66%
dexvert
Compact Compressed (Unix) (archive/compact)
ext
Supported
10%
dexvert
MacBinary (archive/macBinary)
fallback
Supported
1%
dexvert
Text File (text/txt)
fallback
Supported
100%
file
MacBinary II, inited, Sat May 24 00:19:31 1986, modified Sat May 24 00:19:31 1986, creator Macintosh Edit, type ASCII, 5747 bytes "SIHuff.C" , at 0x16f3 860 bytes resource
default (weak)
99%
file
data
default
74%
TrID
Macintosh plain text (MacBinary)
default
25%
TrID
MacBinary 2
default (weak)
100%
siegfried
fmt/1762 MacBinary (II)
default
100%
lsar
MacBinary
default
id metadata key value macFileType [ TEXT] macFileCreator [ EDIT]
hex view +--------+-------------------------+-------------------------+--------+--------+ |00000000| 00 08 53 49 48 75 66 66 | 2e 43 00 00 00 00 00 00 |..SIHuff|.C......| |00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000040| 00 54 45 58 54 45 44 49 | 54 01 00 00 00 00 00 00 |.TEXTEDI|T.......| |00000050| 00 00 00 00 00 16 73 00 | 00 03 5c 9a fa f1 d3 9a |......s.|..\.....| |00000060| fa f1 d3 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 14 af 00 00 |........|........| |00000080| 23 4f 70 74 69 6f 6e 73 | 20 5a 0d 0d 2f 2f 20 6d |#Options| Z..// m| |00000090| 6f 64 20 39 20 33 30 20 | 38 35 20 74 73 68 20 2d |od 9 30 |85 tsh -| |000000a0| 20 64 65 63 6f 64 65 20 | 6f 6e 6c 79 20 76 65 72 | decode |only ver| |000000b0| 73 69 6f 6e 20 66 6f 72 | 20 70 6c 61 79 69 6e 67 |sion for| playing| |000000c0| 20 73 6f 75 6e 64 0d 2f | 2f 20 6d 6f 64 20 39 20 | sound./|/ mod 9 | |000000d0| 31 36 20 38 35 20 74 73 | 68 20 2d 20 63 6f 6d 70 |16 85 ts|h - comp| |000000e0| 6c 65 74 65 6c 79 20 72 | 65 64 6f 20 49 2f 4f 20 |letely r|edo I/O | |000000f0| 62 75 66 66 65 72 69 6e | 67 20 74 6f 20 62 65 20 |bufferin|g to be | |00000100| 63 6f 6e 73 69 73 74 65 | 6e 74 20 77 69 74 68 0d |consiste|nt with.| |00000110| 2f 2f 09 70 72 65 76 69 | 6f 75 73 20 53 6f 75 6e |//.previ|ous Soun| |00000120| 64 43 61 70 2c 20 6d 61 | 6b 65 20 73 74 61 72 74 |dCap, ma|ke start| |00000130| 75 70 20 6f 66 20 63 6f | 6d 70 72 65 73 73 65 64 |up of co|mpressed| |00000140| 20 66 69 6c 65 20 77 6f | 72 6b 2c 0d 2f 2f 09 65 | file wo|rk,.//.e| |00000150| 6c 69 6d 69 6e 61 74 65 | 20 4d 41 5a 6c 69 62 3a |liminate| MAZlib:| |00000160| 42 75 66 49 4f 0d 2f 2f | 20 4d 4f 44 20 30 39 2d |BufIO.//| MOD 09-| |00000170| 30 31 2d 38 35 20 4d 41 | 5a 20 2d 20 68 75 66 66 |01-85 MA|Z - huff| |00000180| 6d 61 6e 20 76 61 72 69 | 61 62 6c 65 2d 62 69 74 |man vari|able-bit| |00000190| 2d 77 69 64 74 68 20 63 | 6f 64 65 0d 2f 2f 09 09 |-width c|ode.//..| |000001a0| 20 22 20 20 2d 20 66 69 | 6c 65 20 63 6f 6d 70 72 | " - fi|le compr| |000001b0| 65 73 73 69 6f 6e 20 72 | 6f 75 74 69 6e 65 73 20 |ession r|outines | |000001c0| 63 72 65 61 74 65 64 0d | 20 0d 23 69 6e 63 6c 75 |created.| .#inclu| |000001d0| 64 65 20 22 4d 61 63 43 | 64 65 66 73 2e 68 22 0d |de "MacC|defs.h".| |000001e0| 23 69 6e 63 6c 75 64 65 | 20 22 4d 41 5a 6c 69 62 |#include| "MAZlib| |000001f0| 2e 68 22 0d 23 69 6e 63 | 6c 75 64 65 20 22 4f 53 |.h".#inc|lude "OS| |00000200| 69 6f 2e 68 22 0d 23 69 | 6e 63 6c 75 64 65 20 22 |io.h".#i|nclude "| |00000210| 70 62 44 65 66 73 2e 68 | 22 0d 0d 2f 2f 20 68 75 |pbDefs.h|"..// hu| |00000220| 66 66 6d 61 6e 20 63 6f | 6d 70 72 65 73 73 69 6f |ffman co|mpressio| |00000230| 6e 20 6f 66 20 64 65 6c | 74 61 73 2c 20 76 61 6c |n of del|tas, val| |00000240| 75 65 73 0d 23 64 65 66 | 69 6e 65 20 74 79 70 65 |ues.#def|ine type| |00000250| 5f 76 61 6c 75 65 20 30 | 0d 23 64 65 66 69 6e 65 |_value 0|.#define| |00000260| 20 74 79 70 65 5f 64 65 | 6c 74 61 20 31 0d 0d 23 | type_de|lta 1..#| |00000270| 61 73 6d 0d 09 69 6e 63 | 6c 75 64 65 09 53 79 73 |asm..inc|lude.Sys| |00000280| 45 71 75 58 2e 44 0d 09 | 69 6e 63 6c 75 64 65 09 |EquX.D..|include.| |00000290| 4d 61 63 54 72 61 70 73 | 2e 44 0d 23 65 6e 64 61 |MacTraps|.D.#enda| |000002a0| 73 6d 0d 0d 2f 2f 20 75 | 73 65 64 20 69 6e 20 74 |sm..// u|sed in t| |000002b0| 68 65 20 66 69 6c 65 0d | 74 79 70 65 64 65 66 20 |he file.|typedef | |000002c0| 73 74 72 75 63 74 0d 20 | 20 20 20 7b 0d 20 20 20 |struct. | {. | |000002d0| 20 73 68 6f 72 74 20 69 | 6e 74 20 64 69 63 74 5f | short i|nt dict_| |000002e0| 6c 65 66 74 73 6f 6e 3b | 0d 20 20 20 20 73 68 6f |leftson;|. sho| |000002f0| 72 74 20 69 6e 74 20 64 | 69 63 74 5f 72 69 67 68 |rt int d|ict_righ| |00000300| 74 73 6f 6e 3b 0d 20 20 | 20 20 7d 20 64 69 63 74 |tson;. | } dict| |00000310| 65 6e 74 3b 0d 0d 2f 2f | 20 74 68 65 20 64 69 63 |ent;..//| the dic| |00000320| 74 69 6f 6e 61 72 79 20 | 70 61 63 6b 65 64 20 2d |tionary |packed -| |00000330| 20 70 61 63 6b 65 64 20 | 69 6e 74 6f 20 6f 6e 20 | packed |into on | |00000340| 77 72 69 74 65 2c 20 75 | 73 65 64 20 64 75 72 69 |write, u|sed duri| |00000350| 6e 67 20 64 65 63 6f 64 | 65 20 73 74 65 70 0d 64 |ng decod|e step.d| |00000360| 69 63 74 65 6e 74 20 64 | 69 63 74 69 6f 6e 61 72 |ictent d|ictionar| |00000370| 79 5b 35 31 31 5d 3b 0d | 0d 2f 2f 20 68 75 66 66 |y[511];.|.// huff| |00000380| 6d 61 6e 20 74 6f 74 61 | 6c 20 63 6f 75 6e 74 0d |man tota|l count.| |00000390| 6c 6f 6e 67 20 69 6e 74 | 20 68 75 66 66 63 6f 75 |long int| huffcou| |000003a0| 6e 74 3b 0d 0d 2f 2f 20 | 49 4f 20 70 61 63 6b 65 |nt;..// |IO packe| |000003b0| 74 0d 69 6f 50 61 72 61 | 6d 20 68 75 66 66 49 6f |t.ioPara|m huffIo| |000003c0| 3b 0d 0d 2f 2f 20 6f 70 | 65 6e 20 66 69 6c 65 2c |;..// op|en file,| |000003d0| 20 72 65 61 64 20 74 68 | 65 20 66 69 6c 65 20 68 | read th|e file h| |000003e0| 65 61 64 65 72 20 61 6e | 64 20 64 65 63 69 64 65 |eader an|d decide| |000003f0| 20 61 6c 6c 6f 63 61 74 | 69 6f 6e 2e 0d 2f 2f 20 | allocat|ion..// | |00000400| 72 65 74 75 72 6e 73 20 | 2d 31 20 69 66 20 6e 6f |returns |-1 if no| |00000410| 74 20 63 6f 6d 70 72 65 | 73 73 65 64 0d 6c 6f 6e |t compre|ssed.lon| |00000420| 67 20 69 6e 74 20 68 75 | 66 66 6d 61 6e 5f 72 65 |g int hu|ffman_re| |00000430| 61 64 73 69 7a 65 28 66 | 69 6c 65 6e 61 6d 65 2c |adsize(f|ilename,| |00000440| 20 72 65 66 6e 75 6d 29 | 0d 20 20 63 68 61 72 20 | refnum)|. char | |00000450| 2a 66 69 6c 65 6e 61 6d | 65 3b 0d 20 20 73 68 6f |*filenam|e;. sho| |00000460| 72 74 20 72 65 66 6e 75 | 6d 3b 0d 20 20 20 20 7b |rt refnu|m;. {| |00000470| 0d 20 20 20 20 6c 6f 6e | 67 20 6c 62 75 66 66 5b |. lon|g lbuff[| |00000480| 32 5d 3b 0d 0d 20 20 20 | 20 2f 2f 20 6f 70 65 6e |2];.. | // open| |00000490| 20 74 68 65 20 69 6e 70 | 75 74 20 66 69 6c 65 0d | the inp|ut file.| |000004a0| 20 20 20 20 68 75 66 66 | 49 6f 2e 69 6f 4e 61 6d | huff|Io.ioNam| |000004b0| 65 50 74 72 20 3d 20 66 | 69 6c 65 6e 61 6d 65 3b |ePtr = f|ilename;| |000004c0| 0d 20 20 20 20 68 75 66 | 66 49 6f 2e 69 6f 56 52 |. huf|fIo.ioVR| |000004d0| 65 66 4e 75 6d 20 3d 20 | 72 65 66 6e 75 6d 3b 09 |efNum = |refnum;.| |000004e0| 2f 2f 20 64 65 66 61 75 | 6c 74 20 76 6f 6c 75 6d |// defau|lt volum| |000004f0| 65 0d 20 20 20 20 68 75 | 66 66 49 6f 2e 69 6f 56 |e. hu|ffIo.ioV| |00000500| 65 72 73 4e 75 6d 20 3d | 20 30 3b 09 2f 2f 20 6e |ersNum =| 0;.// n| |00000510| 6f 72 6d 61 6c 20 76 65 | 72 73 69 6f 6e 0d 20 20 |ormal ve|rsion. | |00000520| 20 20 68 75 66 66 49 6f | 2e 69 6f 50 65 72 6d 73 | huffIo|.ioPerms| |00000530| 73 6e 20 3d 20 31 3b 09 | 2f 2f 20 72 65 61 64 69 |sn = 1;.|// readi| |00000540| 6e 67 0d 20 20 20 20 68 | 75 66 66 49 6f 2e 69 6f |ng. h|uffIo.io| |00000550| 4d 69 73 63 20 3d 20 30 | 3b 09 09 2f 2f 20 6e 6f |Misc = 0|;..// no| |00000560| 20 62 75 66 66 65 72 0d | 20 20 20 20 68 75 66 66 | buffer.| huff| |00000570| 49 6f 2e 69 6f 52 65 73 | 75 6c 74 20 3d 20 31 3b |Io.ioRes|ult = 1;| |00000580| 0d 20 20 20 20 50 42 4f | 70 65 6e 28 26 68 75 66 |. PBO|pen(&huf| |00000590| 66 49 6f 2c 20 66 61 6c | 73 65 29 3b 0d 20 20 20 |fIo, fal|se);. | |000005a0| 20 69 66 20 28 68 75 66 | 66 49 6f 2e 69 6f 52 65 | if (huf|fIo.ioRe| |000005b0| 73 75 6c 74 20 3c 20 30 | 29 0d 09 72 65 74 75 72 |sult < 0|)..retur| |000005c0| 6e 28 68 75 66 66 49 6f | 2e 69 6f 52 65 73 75 6c |n(huffIo|.ioResul| |000005d0| 74 29 3b 0d 20 20 20 20 | 2f 2f 20 72 65 61 64 20 |t);. |// read | |000005e0| 74 68 65 20 68 65 61 64 | 65 72 20 28 32 20 6c 6f |the head|er (2 lo| |000005f0| 6e 67 20 77 6f 72 64 73 | 29 0d 20 20 20 20 68 75 |ng words|). hu| |00000600| 66 66 49 6f 2e 69 6f 42 | 75 66 66 65 72 20 3d 20 |ffIo.ioB|uffer = | |00000610| 28 63 68 61 72 20 2a 29 | 6c 62 75 66 66 3b 0d 20 |(char *)|lbuff;. | |00000620| 20 20 20 68 75 66 66 49 | 6f 2e 69 6f 52 65 71 43 | huffI|o.ioReqC| |00000630| 6f 75 6e 74 20 3d 20 38 | 3b 09 2f 2f 20 32 20 6c |ount = 8|;.// 2 l| |00000640| 6f 6e 67 77 6f 72 64 73 | 0d 20 20 20 20 68 75 66 |ongwords|. huf| |00000650| 66 49 6f 2e 69 6f 50 6f | 73 4d 6f 64 65 20 3d 20 |fIo.ioPo|sMode = | |00000660| 31 3b 09 2f 2f 20 61 62 | 73 6f 6c 75 74 65 0d 20 |1;.// ab|solute. | |00000670| 20 20 20 68 75 66 66 49 | 6f 2e 69 6f 50 6f 73 4f | huffI|o.ioPosO| |00000680| 66 66 73 65 74 20 3d 20 | 30 3b 09 2f 2f 20 66 72 |ffset = |0;.// fr| |00000690| 6f 6d 20 74 68 65 20 62 | 65 67 69 6e 6e 69 6e 67 |om the b|eginning| |000006a0| 0d 20 20 20 20 68 75 66 | 66 49 6f 2e 69 6f 52 65 |. huf|fIo.ioRe| |000006b0| 73 75 6c 74 20 3d 20 31 | 3b 0d 20 20 20 20 50 42 |sult = 1|;. PB| |000006c0| 52 65 61 64 28 26 68 75 | 66 66 49 6f 2c 20 66 61 |Read(&hu|ffIo, fa| |000006d0| 6c 73 65 29 3b 0d 20 20 | 20 20 2f 2f 20 72 65 61 |lse);. | // rea| |000006e0| 64 20 74 68 65 20 63 6f | 6d 70 72 65 73 73 69 6f |d the co|mpressio| |000006f0| 6e 20 66 69 65 6c 64 2e | 0d 20 20 20 20 69 66 20 |n field.|. if | |00000700| 28 6c 62 75 66 66 5b 30 | 5d 20 21 3d 20 27 48 43 |(lbuff[0|] != 'HC| |00000710| 4f 4d 27 29 0d 09 72 65 | 74 75 72 6e 28 2d 31 29 |OM')..re|turn(-1)| |00000720| 3b 0d 20 20 20 20 68 75 | 66 66 63 6f 75 6e 74 20 |;. hu|ffcount | |00000730| 3d 20 6c 62 75 66 66 5b | 31 5d 3b 0d 20 20 20 20 |= lbuff[|1];. | |00000740| 72 65 74 75 72 6e 28 68 | 75 66 66 63 6f 75 6e 74 |return(h|uffcount| |00000750| 29 3b 0d 20 20 20 20 7d | 0d 0d 68 75 66 66 6d 61 |);. }|..huffma| |00000760| 6e 5f 63 6c 6f 73 65 28 | 29 0d 20 20 20 20 7b 0d |n_close(|). {.| |00000770| 20 20 20 20 50 42 43 6c | 6f 73 65 28 26 68 75 66 | PBCl|ose(&huf| |00000780| 66 49 6f 2c 20 66 61 6c | 73 65 29 3b 0d 20 20 20 |fIo, fal|se);. | |00000790| 20 7d 0d 0d 2f 2f 20 72 | 65 61 64 20 74 68 65 20 | }..// r|ead the | |000007a0| 68 75 66 66 6d 61 6e 20 | 66 69 6c 65 20 61 6e 64 |huffman |file and| |000007b0| 20 75 6e 64 6f 20 69 74 | 20 69 6e 74 6f 20 61 20 | undo it| into a | |000007c0| 66 6c 61 74 20 73 61 6d | 70 6c 65 20 62 75 66 66 |flat sam|ple buff| |000007d0| 65 72 0d 2f 2f 20 61 66 | 74 65 72 20 64 6f 69 6e |er.// af|ter doin| |000007e0| 67 20 68 75 66 66 6d 61 | 6e 5f 72 65 61 64 73 69 |g huffma|n_readsi| |000007f0| 7a 65 28 29 0d 69 6e 74 | 20 68 75 66 66 6d 61 6e |ze().int| huffman| |00000800| 5f 69 6e 70 75 74 28 62 | 70 74 72 2c 20 70 73 61 |_input(b|ptr, psa| |00000810| 6d 70 6c 69 6e 67 2c 20 | 69 6f 62 75 66 66 2c 20 |mpling, |iobuff, | |00000820| 69 6f 63 6e 74 29 0d 20 | 20 75 6e 73 69 67 6e 65 |iocnt). | unsigne| |00000830| 64 20 63 68 61 72 20 2a | 62 70 74 72 3b 0d 20 20 |d char *|bptr;. | |00000840| 6c 6f 6e 67 20 69 6e 74 | 20 2a 70 73 61 6d 70 6c |long int| *psampl| |00000850| 69 6e 67 3b 0d 20 20 63 | 68 61 72 20 2a 69 6f 62 |ing;. c|har *iob| |00000860| 75 66 66 3b 0d 20 20 6c | 6f 6e 67 20 69 6e 74 20 |uff;. l|ong int | |00000870| 69 6f 63 6e 74 3b 0d 20 | 20 20 20 7b 0d 20 20 20 |iocnt;. | {. | |00000880| 20 75 6e 73 69 67 6e 65 | 64 20 63 68 61 72 20 66 | unsigne|d char f| |00000890| 69 72 73 74 5f 73 61 6d | 70 6c 65 2c 20 2a 62 75 |irst_sam|ple, *bu| |000008a0| 66 66 65 72 2c 20 2a 70 | 3b 0d 20 20 20 20 73 68 |ffer, *p|;. sh| |000008b0| 6f 72 74 20 69 6e 74 20 | 64 69 63 74 73 7a 3b 0d |ort int |dictsz;.| |000008c0| 20 20 20 20 6c 6f 6e 67 | 20 69 6e 74 20 63 68 65 | long| int che| |000008d0| 63 6b 73 75 6d 2c 20 69 | 2c 20 63 73 75 6d 2c 20 |cksum, i|, csum, | |000008e0| 63 6f 75 6e 74 2c 20 74 | 79 70 65 3b 0d 20 20 20 |count, t|ype;. | |000008f0| 20 6c 6f 6e 67 20 6c 62 | 75 66 66 5b 34 5d 3b 0d | long lb|uff[4];.| |00000900| 20 20 20 20 63 68 61 72 | 20 74 77 6f 63 5b 32 5d | char| twoc[2]| |00000910| 3b 0d 0d 20 20 20 20 63 | 6f 75 6e 74 20 3d 20 68 |;.. c|ount = h| |00000920| 75 66 66 63 6f 75 6e 74 | 3b 0d 20 20 20 20 62 75 |uffcount|;. bu| |00000930| 66 66 65 72 20 3d 20 62 | 70 74 72 3b 0d 20 20 20 |ffer = b|ptr;. | |00000940| 20 2f 2f 20 72 65 61 64 | 20 69 6e 20 31 34 20 62 | // read| in 14 b| |00000950| 79 74 65 73 0d 20 20 20 | 20 68 75 66 66 49 6f 2e |ytes. | huffIo.| |00000960| 69 6f 42 75 66 66 65 72 | 20 3d 20 28 63 68 61 72 |ioBuffer| = (char| |00000970| 20 2a 29 6c 62 75 66 66 | 3b 0d 20 20 20 20 68 75 | *)lbuff|;. hu| |00000980| 66 66 49 6f 2e 69 6f 52 | 65 71 43 6f 75 6e 74 20 |ffIo.ioR|eqCount | |00000990| 3d 20 31 34 3b 09 2f 2f | 20 33 20 6c 6f 6e 67 77 |= 14;.//| 3 longw| |000009a0| 6f 72 64 73 2c 20 31 20 | 77 6f 72 64 0d 20 20 20 |ords, 1 |word. | |000009b0| 20 68 75 66 66 49 6f 2e | 69 6f 50 6f 73 4d 6f 64 | huffIo.|ioPosMod| |000009c0| 65 20 3d 20 30 3b 09 2f | 2f 20 72 65 6c 61 74 69 |e = 0;./|/ relati| |000009d0| 76 65 20 74 6f 20 6d 61 | 72 6b 0d 20 20 20 20 50 |ve to ma|rk. P| |000009e0| 42 52 65 61 64 28 26 68 | 75 66 66 49 6f 2c 20 66 |BRead(&h|uffIo, f| |000009f0| 61 6c 73 65 29 3b 0d 20 | 20 20 20 63 73 75 6d 20 |alse);. | csum | |00000a00| 3d 20 6c 62 75 66 66 5b | 30 5d 3b 20 09 2f 2f 20 |= lbuff[|0]; .// | |00000a10| 72 65 61 64 20 74 68 65 | 20 63 68 65 63 6b 73 75 |read the| checksu| |00000a20| 6d 0d 20 20 20 20 74 79 | 70 65 20 3d 20 6c 62 75 |m. ty|pe = lbu| |00000a30| 66 66 5b 31 5d 3b 09 2f | 2f 20 72 65 61 64 20 74 |ff[1];./|/ read t| |00000a40| 68 65 20 63 6f 6d 70 72 | 65 73 73 69 6f 6e 20 74 |he compr|ession t| |00000a50| 79 70 65 20 28 61 6c 77 | 61 79 73 20 64 65 6c 74 |ype (alw|ays delt| |00000a60| 61 29 0d 20 20 20 20 2a | 70 73 61 6d 70 6c 69 6e |a). *|psamplin| |00000a70| 67 20 3d 20 6c 62 75 66 | 66 5b 32 5d 3b 20 2f 2f |g = lbuf|f[2]; //| |00000a80| 20 72 65 74 75 72 6e 20 | 74 68 65 20 73 61 6d 70 | return |the samp| |00000a90| 6c 69 6e 67 20 72 61 74 | 65 0d 20 20 20 20 2f 2f |ling rat|e. //| |00000aa0| 20 72 65 61 64 20 74 68 | 65 20 68 75 66 66 6d 61 | read th|e huffma| |00000ab0| 6e 20 64 69 63 74 69 6f | 6e 61 72 79 20 75 70 20 |n dictio|nary up | |00000ac0| 66 72 6f 6e 74 20 69 6e | 74 6f 20 27 64 69 63 74 |front in|to 'dict| |00000ad0| 69 6f 6e 61 72 79 27 0d | 20 20 20 20 64 69 63 74 |ionary'.| dict| |00000ae0| 73 7a 20 3d 20 2a 28 73 | 68 6f 72 74 20 2a 29 28 |sz = *(s|hort *)(| |00000af0| 26 6c 62 75 66 66 5b 33 | 5d 29 3b 20 2f 2f 20 72 |&lbuff[3|]); // r| |00000b00| 65 61 64 20 64 69 63 74 | 69 6f 6e 61 72 79 20 73 |ead dict|ionary s| |00000b10| 69 7a 65 0d 20 20 20 20 | 2f 2f 20 72 65 61 64 20 |ize. |// read | |00000b20| 69 6e 20 74 68 65 20 64 | 69 63 74 69 6f 6e 61 72 |in the d|ictionar| |00000b30| 79 0d 20 20 20 20 68 75 | 66 66 49 6f 2e 69 6f 42 |y. hu|ffIo.ioB| |00000b40| 75 66 66 65 72 20 3d 20 | 28 63 68 61 72 20 2a 29 |uffer = |(char *)| |00000b50| 64 69 63 74 69 6f 6e 61 | 72 79 3b 0d 20 20 20 20 |dictiona|ry;. | |00000b60| 68 75 66 66 49 6f 2e 69 | 6f 52 65 71 43 6f 75 6e |huffIo.i|oReqCoun| |00000b70| 74 20 3d 20 73 69 7a 65 | 6f 66 28 64 69 63 74 65 |t = size|of(dicte| |00000b80| 6e 74 29 2a 64 69 63 74 | 73 7a 3b 09 2f 2f 20 73 |nt)*dict|sz;.// s| |00000b90| 69 7a 65 20 74 6f 20 72 | 65 61 64 0d 20 20 20 20 |ize to r|ead. | |00000ba0| 68 75 66 66 49 6f 2e 69 | 6f 50 6f 73 4d 6f 64 65 |huffIo.i|oPosMode| |00000bb0| 20 3d 20 30 3b 09 2f 2f | 20 72 65 6c 61 74 69 76 | = 0;.//| relativ| |00000bc0| 65 20 74 6f 20 6d 61 72 | 6b 0d 20 20 20 20 50 42 |e to mar|k. PB| |00000bd0| 52 65 61 64 28 26 68 75 | 66 66 49 6f 2c 20 66 61 |Read(&hu|ffIo, fa| |00000be0| 6c 73 65 29 3b 0d 20 20 | 20 20 2f 2f 20 70 72 65 |lse);. | // pre| |00000bf0| 73 68 69 66 74 20 64 69 | 63 74 69 6f 6e 61 72 79 |shift di|ctionary| |00000c00| 20 65 6e 74 72 69 65 73 | 20 74 6f 20 73 70 65 65 | entries| to spee| |00000c10| 64 20 70 72 6f 63 65 73 | 73 69 6e 67 0d 20 20 20 |d proces|sing. | |00000c20| 20 66 6f 72 20 28 69 3d | 30 3b 20 69 3c 35 31 31 | for (i=|0; i<511| |00000c30| 3b 20 69 2b 2b 29 0d 20 | 20 20 20 20 20 69 66 20 |; i++). | if | |00000c40| 28 64 69 63 74 69 6f 6e | 61 72 79 5b 69 5d 2e 64 |(diction|ary[i].d| |00000c50| 69 63 74 5f 6c 65 66 74 | 73 6f 6e 20 3e 3d 20 30 |ict_left|son >= 0| |00000c60| 29 0d 09 7b 0d 09 64 69 | 63 74 69 6f 6e 61 72 79 |)..{..di|ctionary| |00000c70| 5b 69 5d 2e 64 69 63 74 | 5f 6c 65 66 74 73 6f 6e |[i].dict|_leftson| |00000c80| 20 3c 3c 3d 20 32 3b 0d | 09 64 69 63 74 69 6f 6e | <<= 2;.|.diction| |00000c90| 61 72 79 5b 69 5d 2e 64 | 69 63 74 5f 72 69 67 68 |ary[i].d|ict_righ| |00000ca0| 74 73 6f 6e 20 3c 3c 3d | 20 32 3b 0d 09 7d 0d 20 |tson <<=| 2;..}. | |00000cb0| 20 20 20 2f 2f 20 72 65 | 61 64 20 66 69 72 73 74 | // re|ad first| |00000cc0| 20 73 61 6d 70 6c 65 20 | 69 6e 0d 20 20 20 20 70 | sample |in. p| |00000cd0| 20 3d 20 28 75 6e 73 69 | 67 6e 65 64 20 63 68 61 | = (unsi|gned cha| |00000ce0| 72 20 2a 29 6c 62 75 66 | 66 3b 0d 20 20 20 20 68 |r *)lbuf|f;. h| |00000cf0| 75 66 66 49 6f 2e 69 6f | 42 75 66 66 65 72 20 3d |uffIo.io|Buffer =| |00000d00| 20 28 63 68 61 72 20 2a | 29 70 3b 0d 20 20 20 20 | (char *|)p;. | |00000d10| 68 75 66 66 49 6f 2e 69 | 6f 52 65 71 43 6f 75 6e |huffIo.i|oReqCoun| |00000d20| 74 20 3d 20 32 3b 09 2f | 2f 20 32 20 63 68 61 72 |t = 2;./|/ 2 char| |00000d30| 61 63 74 65 72 73 0d 20 | 20 20 20 68 75 66 66 49 |acters. | huffI| |00000d40| 6f 2e 69 6f 50 6f 73 4d | 6f 64 65 20 3d 20 30 3b |o.ioPosM|ode = 0;| |00000d50| 09 2f 2f 20 72 65 6c 61 | 74 69 76 65 20 74 6f 20 |.// rela|tive to | |00000d60| 6d 61 72 6b 0d 20 20 20 | 20 50 42 52 65 61 64 28 |mark. | PBRead(| |00000d70| 26 68 75 66 66 49 6f 2c | 20 66 61 6c 73 65 29 3b |&huffIo,| false);| |00000d80| 0d 20 20 20 20 70 2b 2b | 3b 20 20 20 20 2f 2f 20 |. p++|; // | |00000d90| 69 67 6e 6f 72 20 70 61 | 64 20 62 79 74 65 20 74 |ignor pa|d byte t| |00000da0| 77 6f 63 5b 30 5d 0d 20 | 20 20 20 66 69 72 73 74 |woc[0]. | first| |00000db0| 5f 73 61 6d 70 6c 65 20 | 3d 20 2a 70 2b 2b 3b 0d |_sample |= *p++;.| |00000dc0| 20 20 20 20 2f 2f 20 70 | 72 6f 63 65 73 73 20 72 | // p|rocess r| |00000dd0| 65 73 74 20 6f 66 20 62 | 75 66 66 65 72 0d 20 20 |est of b|uffer. | |00000de0| 20 20 63 68 65 63 6b 73 | 75 6d 20 3d 20 75 6e 68 | checks|um = unh| |00000df0| 75 66 66 5f 62 75 66 66 | 65 72 28 62 75 66 66 65 |uff_buff|er(buffe| |00000e00| 72 2c 20 63 6f 75 6e 74 | 2c 20 66 69 72 73 74 5f |r, count|, first_| |00000e10| 73 61 6d 70 6c 65 2c 20 | 69 6f 62 75 66 66 2c 20 |sample, |iobuff, | |00000e20| 69 6f 63 6e 74 29 3b 0d | 20 20 20 20 2f 2f 20 74 |iocnt);.| // t| |00000e30| 65 73 74 20 74 68 65 20 | 63 68 65 63 6b 73 75 6d |est the |checksum| |00000e40| 0d 20 20 20 20 69 66 20 | 28 63 68 65 63 6b 73 75 |. if |(checksu| |00000e50| 6d 20 21 3d 20 63 73 75 | 6d 29 0d 09 72 65 74 75 |m != csu|m)..retu| |00000e60| 72 6e 28 2d 31 29 3b 0d | 20 20 20 20 2f 2f 20 63 |rn(-1);.| // c| |00000e70| 68 65 63 6b 73 75 6d 20 | 4f 4b 2c 20 72 65 61 64 |hecksum |OK, read| |00000e80| 20 63 6f 6d 70 72 65 73 | 73 65 64 20 72 65 61 64 | compres|sed read| |00000e90| 69 6e 0d 20 20 20 20 72 | 65 74 75 72 6e 28 30 29 |in. r|eturn(0)| |00000ea0| 3b 0d 20 20 20 20 7d 0d | 0d 2f 2f 20 68 75 66 66 |;. }.|.// huff| |00000eb0| 6d 61 6e 20 64 65 63 6f | 64 65 20 73 74 65 70 20 |man deco|de step | |00000ec0| 28 72 65 61 64 73 20 61 | 6e 64 20 64 65 63 6f 64 |(reads a|nd decod| |00000ed0| 65 73 20 64 61 74 61 29 | 0d 6c 6f 6e 67 20 69 6e |es data)|.long in| |00000ee0| 74 20 75 6e 68 75 66 66 | 5f 62 75 66 66 65 72 28 |t unhuff|_buffer(| |00000ef0| 62 75 66 66 65 72 2c 63 | 6f 75 6e 74 2c 66 69 72 |buffer,c|ount,fir| |00000f00| 73 74 5f 73 61 6d 70 6c | 65 2c 69 6f 62 75 66 66 |st_sampl|e,iobuff| |00000f10| 65 72 2c 69 6f 63 6e 74 | 29 0d 20 20 75 6e 73 69 |er,iocnt|). unsi| |00000f20| 67 6e 65 64 20 63 68 61 | 72 20 2a 62 75 66 66 65 |gned cha|r *buffe| |00000f30| 72 3b 09 2f 2f 20 44 30 | 0d 20 20 6c 6f 6e 67 20 |r;.// D0|. long | |00000f40| 69 6e 74 20 63 6f 75 6e | 74 3b 09 09 2f 2f 20 44 |int coun|t;..// D| |00000f50| 31 0d 20 20 75 6e 73 69 | 67 6e 65 64 20 63 68 61 |1. unsi|gned cha| |00000f60| 72 20 66 69 72 73 74 5f | 73 61 6d 70 6c 65 3b 09 |r first_|sample;.| |00000f70| 2f 2f 20 44 32 0d 20 20 | 63 68 61 72 20 2a 69 6f |// D2. |char *io| |00000f80| 62 75 66 66 65 72 3b 09 | 09 2f 2f 20 44 33 0d 20 |buffer;.|.// D3. | |00000f90| 20 6c 6f 6e 67 20 69 6e | 74 20 69 6f 63 6e 74 3b | long in|t iocnt;| |00000fa0| 09 09 2f 2f 20 44 34 0d | 20 20 20 20 7b 0d 23 61 |..// D4.| {.#a| |00000fb0| 73 6d 0d 69 6f 63 6e 74 | 09 45 51 55 09 2d 34 0d |sm.iocnt|.EQU.-4.| |00000fc0| 69 6f 62 75 66 66 09 45 | 51 55 09 2d 38 0d 73 74 |iobuff.E|QU.-8.st| |00000fd0| 6b 73 69 7a 09 45 51 55 | 09 2d 31 32 0d 0d 09 4c |ksiz.EQU|.-12...L| |00000fe0| 49 4e 4b 09 41 36 2c 23 | 73 74 6b 73 69 7a 0d 09 |INK.A6,#|stksiz..| |00000ff0| 4d 4f 56 45 4d 2e 4c 09 | 44 31 2d 44 37 2f 41 30 |MOVEM.L.|D1-D7/A0| |00001000| 2d 41 34 2c 2d 28 53 50 | 29 0d 09 4d 4f 56 45 2e |-A4,-(SP|)..MOVE.| |00001010| 4c 09 44 33 2c 69 6f 62 | 75 66 66 28 41 36 29 09 |L.D3,iob|uff(A6).| |00001020| 3b 73 61 76 65 20 49 2f | 4f 20 62 75 66 66 65 72 |;save I/|O buffer| |00001030| 0d 09 4d 4f 56 45 2e 4c | 09 44 34 2c 69 6f 63 6e |..MOVE.L|.D4,iocn| |00001040| 74 28 41 36 29 09 3b 73 | 61 76 65 20 49 2f 4f 20 |t(A6).;s|ave I/O | |00001050| 62 75 66 66 65 72 20 73 | 69 7a 65 0d 09 4d 4f 56 |buffer s|ize..MOV| |00001060| 45 2e 4c 09 44 30 2c 41 | 30 09 09 3b 20 4f 55 54 |E.L.D0,A|0..; OUT| |00001070| 50 55 54 20 50 4f 49 4e | 54 45 52 20 54 4f 20 41 |PUT POIN|TER TO A| |00001080| 30 0d 09 4d 4f 56 45 2e | 42 09 44 32 2c 28 41 30 |0..MOVE.|B.D2,(A0| |00001090| 29 2b 09 3b 20 4f 55 54 | 50 55 54 20 46 49 52 53 |)+.; OUT|PUT FIRS| |000010a0| 54 20 53 41 4d 50 4c 45 | 0d 09 53 55 42 51 2e 4c |T SAMPLE|..SUBQ.L| |000010b0| 09 23 31 2c 44 31 09 09 | 3b 20 44 45 43 52 45 4d |.#1,D1..|; DECREM| |000010c0| 45 4e 54 20 43 4f 55 4e | 54 0d 09 4d 4f 56 45 2e |ENT COUN|T..MOVE.| |000010d0| 4c 09 44 31 2c 44 37 09 | 09 3b 20 49 4e 54 4f 20 |L.D1,D7.|.; INTO | |000010e0| 52 37 0d 09 4d 4f 56 45 | 51 09 23 30 2c 44 30 0d |R7..MOVE|Q.#0,D0.| |000010f0| 09 4d 4f 56 45 2e 4c 09 | 44 30 2c 41 33 09 09 3b |.MOVE.L.|D0,A3..;| |00001100| 20 5a 45 52 4f 20 4c 4f | 4e 47 57 4f 52 44 20 43 | ZERO LO|NGWORD C| |00001110| 48 45 43 4b 53 55 4d 0d | 3b 20 50 4f 49 4e 54 20 |HECKSUM.|; POINT | |00001120| 54 4f 20 44 49 43 54 49 | 4f 4e 41 52 59 20 52 4f |TO DICTI|ONARY RO| |00001130| 4f 54 20 2d 20 52 45 41 | 44 59 20 46 4f 52 20 50 |OT - REA|DY FOR P| |00001140| 41 52 53 45 0d 09 4c 45 | 41 09 64 69 63 74 69 6f |ARSE..LE|A.dictio| |00001150| 6e 61 72 79 28 41 35 29 | 2c 41 32 0d 09 4d 4f 56 |nary(A5)|,A2..MOV| |00001160| 45 51 09 23 30 2c 44 34 | 09 09 3b 20 44 49 43 54 |EQ.#0,D4|..; DICT| |00001170| 49 4f 4e 41 52 59 20 43 | 55 52 52 45 4e 54 20 50 |IONARY C|URRENT P| |00001180| 4f 49 4e 54 45 52 0d 09 | 42 52 41 2e 53 09 42 55 |OINTER..|BRA.S.BU| |00001190| 46 52 45 41 44 09 09 3b | 20 6a 75 6d 70 20 69 6e |FREAD..;| jump in| |000011a0| 74 6f 20 6c 6f 6f 70 09 | 0d 0d 3b 20 70 72 6f 63 |to loop.|..; proc| |000011b0| 65 73 73 20 61 20 62 69 | 74 20 61 6e 64 20 62 72 |ess a bi|t and br| |000011c0| 61 6e 63 68 20 66 75 72 | 74 68 65 72 20 69 6e 74 |anch fur|ther int| |000011d0| 6f 20 48 75 66 66 6d 61 | 6e 20 74 72 65 65 0d 42 |o Huffma|n tree.B| |000011e0| 49 54 4c 50 3a 09 4c 53 | 4c 2e 4c 09 23 31 2c 44 |ITLP:.LS|L.L.#1,D| |000011f0| 35 09 09 3b 20 53 48 49 | 46 54 20 4f 56 45 52 20 |5..; SHI|FT OVER | |00001200| 31 20 42 49 54 0d 09 42 | 43 43 2e 53 09 5a 45 52 |1 BIT..B|CC.S.ZER| |00001210| 4f 42 49 54 09 09 3b 20 | 42 52 41 4e 43 48 20 49 |OBIT..; |BRANCH I| |00001220| 46 20 4c 45 46 54 20 53 | 4f 4e 0d 09 41 44 44 51 |F LEFT S|ON..ADDQ| |00001230| 2e 57 09 23 32 2c 44 34 | 09 09 3b 20 50 4f 49 4e |.W.#2,D4|..; POIN| |00001240| 54 20 54 4f 20 52 49 47 | 48 54 20 53 4f 4e 0d 5a |T TO RIG|HT SON.Z| |00001250| 45 52 4f 42 49 54 3a 20 | 4d 4f 56 45 2e 57 09 30 |EROBIT: |MOVE.W.0| |00001260| 28 41 32 2c 44 34 2e 57 | 29 2c 44 34 09 3b 20 4c |(A2,D4.W|),D4.; L| |00001270| 4f 41 44 20 53 4f 4e 0d | 09 4d 4f 56 45 2e 57 09 |OAD SON.|.MOVE.W.| |00001280| 30 28 41 32 2c 44 34 2e | 57 29 2c 44 30 09 3b 20 |0(A2,D4.|W),D0.; | |00001290| 43 48 45 43 4b 20 46 4f | 52 20 4c 45 41 46 0d 09 |CHECK FO|R LEAF..| |000012a0| 44 42 4d 49 09 44 33 2c | 42 49 54 4c 50 0d 09 42 |DBMI.D3,|BITLP..B| |000012b0| 47 45 2e 53 09 42 55 46 | 57 44 09 09 3b 20 54 45 |GE.S.BUF|WD..; TE| |000012c0| 53 54 20 46 4f 52 20 42 | 49 54 20 43 4f 55 4e 54 |ST FOR B|IT COUNT| |000012d0| 45 52 20 45 58 50 49 52 | 45 44 0d 3b 20 61 74 20 |ER EXPIR|ED.; at | |000012e0| 65 6e 64 20 6f 66 20 68 | 75 66 66 6d 61 6e 20 65 |end of h|uffman e| |000012f0| 6e 63 6f 64 69 6e 67 2c | 20 73 75 6d 20 74 68 65 |ncoding,| sum the| |00001300| 20 64 65 6c 74 61 20 61 | 6e 64 20 6f 75 74 70 75 | delta a|nd outpu| |00001310| 74 20 63 68 61 72 0d 09 | 41 44 44 2e 57 09 32 28 |t char..|ADD.W.2(| |00001320| 41 32 2c 44 34 2e 57 29 | 2c 44 32 09 3b 20 43 4f |A2,D4.W)|,D2.; CO| |00001330| 4d 50 55 54 45 20 4e 45 | 58 54 20 43 48 41 52 41 |MPUTE NE|XT CHARA| |00001340| 43 54 45 52 0d 09 4d 4f | 56 45 2e 42 09 44 32 2c |CTER..MO|VE.B.D2,| |00001350| 28 41 30 29 2b 09 3b 20 | 4f 55 54 50 55 54 20 4e |(A0)+.; |OUTPUT N| |00001360| 45 58 54 20 53 41 4d 50 | 4c 45 0d 3b 20 70 72 65 |EXT SAMP|LE.; pre| |00001370| 70 61 72 65 20 66 6f 72 | 20 6e 65 78 74 20 73 61 |pare for| next sa| |00001380| 6d 70 6c 65 0d 09 4d 4f | 56 45 51 09 23 30 2c 44 |mple..MO|VEQ.#0,D| |00001390| 34 09 09 3b 20 44 49 43 | 54 49 4f 4e 41 52 59 20 |4..; DIC|TIONARY | |000013a0| 43 55 52 52 45 4e 54 20 | 50 4f 49 4e 54 45 52 0d |CURRENT |POINTER.| |000013b0| 09 53 55 42 51 2e 4c 09 | 23 31 2c 44 37 09 09 3b |.SUBQ.L.|#1,D7..;| |000013c0| 20 44 4f 4e 45 20 43 4f | 4c 4c 45 43 54 49 4e 47 | DONE CO|LLECTING| |000013d0| 3f 0d 09 42 4c 45 2e 53 | 09 45 4f 42 4c 50 0d 09 |?..BLE.S|.EOBLP..| |000013e0| 54 53 54 2e 57 09 44 33 | 0d 09 42 4d 49 2e 53 09 |TST.W.D3|..BMI.S.| |000013f0| 42 55 46 57 44 0d 3b 20 | 6c 6f 6f 70 20 74 6f 20 |BUFWD.; |loop to | |00001400| 6e 65 78 74 20 62 69 74 | 0d 42 49 54 43 4e 54 3a |next bit|.BITCNT:| |00001410| 09 44 42 46 09 44 33 2c | 42 49 54 4c 50 09 3b 20 |.DBF.D3,|BITLP.; | |00001420| 4e 45 58 54 20 42 49 54 | 20 46 52 4f 4d 20 49 4e |NEXT BIT| FROM IN| |00001430| 50 55 54 0d 0d 3b 20 47 | 45 54 20 41 4e 4f 54 48 |PUT..; G|ET ANOTH| |00001440| 45 52 20 4c 4f 4e 47 20 | 46 52 4f 4d 20 54 48 45 |ER LONG |FROM THE| |00001450| 20 49 4e 50 55 54 20 42 | 55 46 46 45 52 0d 42 55 | INPUT B|UFFER.BU| |00001460| 46 57 44 3a 09 53 55 42 | 51 2e 4c 09 23 34 2c 44 |FWD:.SUB|Q.L.#4,D| |00001470| 36 09 09 3b 20 77 65 20 | 70 72 6f 63 65 73 73 20 |6..; we |process | |00001480| 34 20 62 79 74 65 73 20 | 61 74 20 61 20 74 69 6d |4 bytes |at a tim| |00001490| 65 0d 09 42 47 54 2e 53 | 09 42 55 46 47 4f 09 09 |e..BGT.S|.BUFGO..| |000014a0| 3b 20 4e 4f 20 52 45 46 | 49 4c 4c 20 4e 45 45 44 |; NO REF|ILL NEED| |000014b0| 45 44 0d 0d 3b 20 52 45 | 41 44 20 41 4e 4f 54 48 |ED..; RE|AD ANOTH| |000014c0| 45 52 20 42 55 46 46 45 | 52 20 49 4e 0d 42 55 46 |ER BUFFE|R IN.BUF| |000014d0| 52 45 41 44 3a 20 4d 4f | 56 45 4d 2e 4c 20 41 30 |READ: MO|VEM.L A0| |000014e0| 2f 44 30 2d 44 32 2c 2d | 28 53 50 29 20 3b 73 61 |/D0-D2,-|(SP) ;sa| |000014f0| 76 65 20 61 63 27 73 0d | 09 4c 45 41 09 68 75 66 |ve ac's.|.LEA.huf| |00001500| 66 49 6f 28 41 35 29 2c | 41 30 09 3b 67 65 74 20 |fIo(A5),|A0.;get | |00001510| 6f 75 72 20 70 61 63 6b | 65 74 0d 09 4d 4f 56 45 |our pack|et..MOVE| |00001520| 41 2e 4c 09 69 6f 62 75 | 66 66 28 41 36 29 2c 41 |A.L.iobu|ff(A6),A| |00001530| 31 09 3b 72 65 73 65 74 | 20 62 75 66 66 65 72 20 |1.;reset| buffer | |00001540| 70 74 72 0d 09 4d 4f 56 | 45 2e 4c 09 69 6f 63 6e |ptr..MOV|E.L.iocn| |00001550| 74 28 41 36 29 2c 44 36 | 09 3b 72 65 73 65 74 20 |t(A6),D6|.;reset | |00001560| 62 75 66 66 65 72 20 63 | 6f 75 6e 74 0d 09 4d 4f |buffer c|ount..MO| |00001570| 56 45 2e 4c 09 41 31 2c | 69 6f 42 75 66 66 65 72 |VE.L.A1,|ioBuffer| |00001580| 28 41 30 29 09 3b 67 65 | 74 20 62 75 66 66 65 72 |(A0).;ge|t buffer| |00001590| 0d 09 4d 4f 56 45 2e 4c | 09 44 36 2c 69 6f 52 65 |..MOVE.L|.D6,ioRe| |000015a0| 71 43 6f 75 6e 74 28 41 | 30 29 20 3b 67 65 74 20 |qCount(A|0) ;get | |000015b0| 72 65 71 75 65 73 74 65 | 64 20 63 6f 75 6e 74 0d |requeste|d count.| |000015c0| 09 43 4c 52 2e 57 09 69 | 6f 50 6f 73 4d 6f 64 65 |.CLR.W.i|oPosMode| |000015d0| 28 41 30 29 09 3b 72 65 | 6c 61 74 69 76 65 20 70 |(A0).;re|lative p| |000015e0| 6f 73 69 74 69 6f 6e 69 | 6e 67 0d 09 5f 52 65 61 |ositioni|ng.._Rea| |000015f0| 64 0d 09 4d 4f 56 45 4d | 2e 4c 09 28 53 50 29 2b |d..MOVEM|.L.(SP)+| |00001600| 2c 41 30 2f 44 30 2d 44 | 32 09 3b 72 65 73 74 6f |,A0/D0-D|2.;resto| |00001610| 72 65 20 61 63 27 73 0d | 09 0d 42 55 46 47 4f 3a |re ac's.|..BUFGO:| |00001620| 09 4d 4f 56 45 2e 4c 09 | 28 41 31 29 2b 2c 44 35 |.MOVE.L.|(A1)+,D5| |00001630| 0d 09 41 44 44 2e 4c 09 | 44 35 2c 41 33 09 09 3b |..ADD.L.|D5,A3..;| |00001640| 20 55 50 44 41 54 45 20 | 43 48 45 43 4b 53 55 4d | UPDATE |CHECKSUM| |00001650| 0d 09 4d 4f 56 45 51 09 | 23 33 31 2c 44 33 09 09 |..MOVEQ.|#31,D3..| |00001660| 3b 20 42 49 54 53 20 49 | 4e 20 4c 4f 4e 47 20 28 |; BITS I|N LONG (| |00001670| 2d 31 20 46 4f 52 20 44 | 42 46 29 0d 09 42 52 41 |-1 FOR D|BF)..BRA| |00001680| 2e 53 09 42 49 54 4c 50 | 0d 0d 3b 20 41 4c 4c 20 |.S.BITLP|..; ALL | |00001690| 44 4f 4e 45 0d 45 4f 42 | 4c 50 3a 09 4d 4f 56 45 |DONE.EOB|LP:.MOVE| |000016a0| 2e 4c 09 41 33 2c 44 30 | 09 09 3b 20 52 45 54 55 |.L.A3,D0|..; RETU| |000016b0| 52 4e 20 43 48 45 43 4b | 53 55 4d 0d 09 4d 4f 56 |RN CHECK|SUM..MOV| |000016c0| 45 4d 2e 4c 09 28 53 50 | 29 2b 2c 44 31 2d 44 37 |EM.L.(SP|)+,D1-D7| |000016d0| 2f 41 30 2d 41 34 0d 09 | 55 4e 4c 4b 09 41 36 0d |/A0-A4..|UNLK.A6.| |000016e0| 09 52 54 53 0d 23 65 6e | 64 61 73 6d 0d 20 20 20 |.RTS.#en|dasm. | |000016f0| 20 7d 0d 00 00 00 00 00 | 00 00 00 00 00 00 00 00 | }......|........| |00001700| 00 00 01 00 00 00 01 16 | 00 00 00 16 00 00 02 46 |........|.......F| |00001710| ff ff ff ff ff ff ff ff | ff ff ff ff ff ff ff ff |........|........| |00001720| ff ff ff ff ff ff ff ff | ff ff ff ff ff ff ff ff |........|........| |00001730| 08 53 49 48 75 66 66 2e | 43 00 02 00 00 00 54 45 |.SIHuff.|C.....TE| |00001740| 58 54 45 44 49 54 01 00 | ff ff ff ff 00 00 00 00 |XTEDIT..|........| |00001750| 00 00 54 45 58 54 45 44 | 49 54 01 00 ff ff ff ff |..TEXTED|IT......| |00001760| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00001770| 00 00 99 ac ec 2f 00 00 | 16 73 00 00 03 5c ff ff |...../..|.s...\..| |00001780| ff ff ff ff ff ff ff ff | ff ff ff ff ff ff ff ff |........|........| |00001790| ff ff ff ff ff ff ff ff | ff ff ff ff ff ff ff ff |........|........| |000017a0| ff ff ff ff ff ff ff ff | ff ff ff ff ff ff ff ff |........|........| |000017b0| ff ff ff ff ff ff ff ff | ff ff ff ff ff ff ff ff |........|........| |000017c0| ff ff ff ff ff ff ff ff | ff ff ff ff ff ff ff ff |........|........| |000017d0| ff ff ff ff ff ff ff ff | ff ff ff ff ff ff ff ff |........|........| |000017e0| ff ff ff ff ff ff ff ff | ff ff ff ff ff ff ff ff |........|........| |000017f0| ff ff ff ff ff ff ff ff | ff ff ff ff ff ff ff ff |........|........| |00001800| 00 00 00 0a 00 09 06 4d | 6f 6e 61 63 6f 56 00 00 |.......M|onacoV..| |00001810| 00 04 00 06 00 08 00 00 | 01 00 00 00 01 16 00 00 |........|........| |00001820| 00 16 00 00 02 46 00 00 | cc 20 00 98 00 00 00 1c |.....F..|. ......| |00001830| 00 46 00 01 45 46 4e 54 | 00 00 00 12 45 54 41 42 |.F..EFNT|....ETAB| |00001840| 00 00 00 1e 03 eb 00 00 | 00 00 00 00 00 01 6a 36 |........|......j6| |00001850| 03 ec 01 00 00 00 00 0e | 00 01 6a 52 ff ff ff ff |........|..jR....| |00001860| ff ff ff ff 00 40 01 aa | 00 40 01 ac 00 40 01 ae |.....@..|.@...@..| |00001870| 00 40 01 b0 00 40 01 b2 | 00 40 01 b4 00 40 01 b6 |.@...@..|.@...@..| |00001880| 00 40 01 b8 00 40 10 18 | 00 40 01 bc 00 40 01 be |.@...@..|.@...@..| |00001890| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..| |000018a0| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..| |000018b0| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..| |000018c0| 00 40 0b 94 00 40 0b bc | 00 40 0b ec 00 40 01 c0 |.@...@..|.@...@..| |000018d0| 00 40 01 c0 00 40 01 c0 | 00 40 01 c0 00 40 01 be |.@...@..|.@...@..| |000018e0| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..| |000018f0| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..| |00001900| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..| |00001910| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..| |00001920| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..| |00001930| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..| |00001940| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..| |00001950| 00 40 01 be 00 40 01 be | 00 40 01 be ff ff ff ff |.@...@..|.@......| |00001960| ff ff ff ff 00 40 01 aa | 00 40 01 ac 00 40 01 ae |.....@..|.@...@..| |00001970| 00 40 01 b0 00 40 01 b2 | 00 40 01 b4 00 40 01 b6 |.@...@..|.@...@..| |00001980| 00 40 01 b8 00 40 10 18 | 00 40 01 bc 00 40 01 be |.@...@..|.@...@..| |00001990| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..| |000019a0| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..| |000019b0| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..| |000019c0| 00 40 0b 94 00 40 0b bc | 00 40 0b ec 00 40 01 c0 |.@...@..|.@...@..| |000019d0| 00 40 01 c0 00 40 01 c0 | 00 40 01 c0 00 40 01 be |.@...@..|.@...@..| |000019e0| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..| |000019f0| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..| |00001a00| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..| |00001a10| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..| |00001a20| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..| |00001a30| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..| |00001a40| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..| |00001a50| 00 40 01 be 00 40 01 be | 00 40 01 be 00 00 00 00 |.@...@..|.@......| |00001a60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00001a70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| +--------+-------------------------+-------------------------+--------+--------+